# 给你一个整数数组 nums。
# nums 的子序列 sub 的长度为 x ，如果其满足以下条件，则称其为 有效子序列：
# (sub[0] + sub[1]) % 2 == (sub[1] + sub[2]) % 2 == ... == (sub[x - 2] + sub[x - 1]) % 2
# 返回 nums 的 最长的有效子序列 的长度。
# 一个 子序列 指的是从原数组中删除一些元素（也可以不删除任何元素），剩余元素保持原来顺序组成的新数组。
def maxlenth(nums):
    o_lenth= 0
    j_lenth= 0
    o_j_lenth = 0
    last = -1

    for i in range(len(nums)):
        if nums[i] % 2 == 0:
            o_lenth += 1
        else:
            j_lenth += 1
        if nums[i] % 2 != last:
            o_j_lenth += 1
            last = nums[i] % 2
    return max(o_lenth,j_lenth,o_j_lenth)